package cn.fuxi2022.auth.service;

import cn.fuxi2022.core.model.empty.auth.UserLogin;
import cn.fuxi2022.model.resp.PageUtils;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.HashMap;
import java.util.Map;

/**
 * @author admin
 * @description 针对表【user_login(后端系统用户表)】的数据库操作Service
 * @createDate 2022-09-14 14:48:48
 */
public interface UserLoginService extends IService<UserLogin> {

    /**
     * 登录方法，根据 手机号 和 密码 判断用户
     *
     * @param phone    手机号
     * @param password 密码
     * @return token，登录成功就返回token，否则报错
     */
    String login(String phone, String password);

    /**
     * 登录方法，根据 union_id 进行登录
     *
     * @param unionId  当前同一用户，对同一个微信开放平台下的不同应用，UnionID是相同的
     */
    String loginByWeChat(String unionId);

    /**
     * 根据微信的用户信息 更新 数据库
     * @param userInfo 微信的用户信息
     */
    void updateByWeChat(HashMap<String, String> userInfo);


    /**
     * 创建用户，使用微信的用户学习
     * @param userInfo
     */
    void registerByWeChat(HashMap<String, String> userInfo);

    PageUtils queryPage(Map<String, Object> params);
}
